package multiplus.base;

import java.sql.SQLException;
import java.util.Collection;

import javax.annotation.PostConstruct;

public interface IBaseDao<E, PK> {

	public abstract String getNameSpace();

	public abstract String getSqlById(String id);

	@PostConstruct
	public abstract void initSqlMapClient();

	public abstract E save(E entity) throws SQLException;

	public abstract int save(Collection<E> entities) throws SQLException;

	public abstract int delete(PK pk) throws SQLException;

	public abstract int update(E entity) throws SQLException;

	public abstract int update(Collection<E> entities) throws SQLException;

	public abstract E get(PK pk) throws SQLException;

}